Slicing of Java Programs using the Soot Framework

نویسندگان

  • D. Arvind
  • Priti Shankar
چکیده

Slicing is a technique used to identify the program subset that could affect a particular statement of interest called the slicing criterion. Slicing has applications in program understanding, testing, model checking and functionality extraction. For computing a slice, we need to compute dependence information among statements. In object oriented languages, finding dependence information becomes non-trivial because of language features like inheritance, objects, polymorphism, dynamic binding and so forth. We develop a method for computing slices in object oriented programs for application in regression testing. In particular we propose a new method for intraprocedural alias analysis for Java and implement an interprocedural slicing technique using the system dependence graph of Horwitz et al.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Soot framework for Java program analysis: a retrospective

Soot is a successful framework for experimenting with compiler and software engineering techniques for Java programs. Researchers from around the world have implemented a wide range of research tools which build on Soot, and Soot has been widely used by students for both courses and thesis research. In this paper, we describe relevant features of Soot, summarize its development process, and dis...

متن کامل

STOOP: The Sable Toolkit for Object-Oriented Profiling

− instrumented Java class files produced from existing programs using Soot (www.sable.mcgill.ca/soot), a framework for analyzing and transforming Java bytecode. The transformed classes report their own field accesses as well as method entries and exits. Profiling agents provide raw data to the rest of the STOOP framework. Data may originate from a wide variety of sources. For example, traces of...

متن کامل

An Overview of the Indus Framework for Analysis and Slicing of Concurrent Java Software

Program slicing is a program analysis and transformation technique that has been successfully applied in a wide range of applications including program comprehension, debugging, maintenance, testing, and verification. However, there are only a few full-featured implementations of program slicing that are available for industrial applications or academic research. In particular, very little tool...

متن کامل

Towards Verification of MPJ-based Java Programs

A proof-of-concept Java/MPJ to Promela translator is presented as a step towards verification of safety properties of parallel Java programs using the MPJ library. The translator leverages the Soot library to achieve a threestep method for of the Java to Promela.

متن کامل

Slicing Concurrent Java Programs

Although many slicing algorithms have been proposed for object-oriented programs, no slicing algorithm has been proposed which can be used to handle the problem of slicing concurrent Java programs correctly. In this paper, we propose a slicing algorithm for concurrent Java programs. To slice concurrent Java programs, we present a dependence-based representation called multithreaded dependence g...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006